<?php

class JSONDataParser extends DataParser {

    public function parseItem($item) {
        $event = new NewsItem();
        $event->setAuthor($item['author']);
        $event->setDescription($item['description']);
        $event->setContent(
            '<dt>' . '是否報名' . '</dt><dd>' . $item['sflag'] . '</dd>' . 
            '<dt>' . '是否付費' . '</dt><dd>' . $item['pflag'] . '</dd>' .
            '<dt>' . '費用' . '</dt><dd>' . $item['money'] . '</dd>' .
            '<dt>' . '活動場地' . '</dt><dd>' . $item['place'] . '</dd>' .
            '<dt>' . '場地電話' . '</dt><dd>' . $item['placetel'] . '</dd>' .
            '<dt>' . '活動地址' . '</dt><dd>' .  $item['maddress'] . '</dd>' .
            '<dt>' . '交通說明' . '</dt><dd>' .  $item['traffic'] . '</dd>' .
            '<dt>' . '聯絡人' . '</dt><dd>' . $item['people1'] . '</dd>' .
            '<dt>' . '聯絡人電話' . '</dt><dd>' .  $item['people1tel'] . '</dd>' .
            '<dt>' . '聯絡人郵件' . '</dt><dd>' .  $item['people1tel'] . '</dd>' .
            '<dt>' . '聯絡人2' . '</dt><dd>' .  $item['people2'] . '</dd>' .
            '<dt>' . '聯絡人2電話' . '</dt><dd>' . $item['people2tel'] . '</dd>' .
            '<dt>' . '聯絡人2郵：' . '</dt><dd>' . $item['people2mail'] . '</dd>' .
            '<dt>' . '活動網址' . '</dt><dd>' . $item['abouturl'] . '</dd>' .
            '<dt>' . '檔案下載' . '</dt><dd>' . $item['downloadurl'] . '</dd>' .
            '<dt>' . '內容：' . '</dt><dd>' . $item['description'] . '</dd>'
        );
        $event->setPubDate(new DateTime($item['createDate']));
        $event->setId($item['id']);
        $event->setTitle($item['title']);
        $event->setLink('http://www.ntpc.gov.tw/ap/newcalendar/newcalendar_info.jsp?id=' . $item['id']);
        return $event;
    }

    public function parseData($data) {
        $arr = json_decode($data);
        $event = array();
        foreach ($arr as $array) {
            $str = get_object_vars($array);
            $event[] = $this->parseItem($str);
        }
        $this->setTotalItems(count($event));
        return $event;
    }
}
